"""
给定一个字符串s。最多只能进行一次变换，返回变换后能得到的最小字符串（按字典序进行比较）
变换规则：交换字符串中任意俩个不同位置的字符。
示例：
输入：i_num_list
abcdef
输出：
abcdef
"""


def min_str(s):
    # 接收输入的数据
    # 设置一个列表，按列表索引来看每个位置字母的值
    list_a = ['kwargs', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r', 's', 't', 'u',
              'v',
              'w', 'x', 'y', 'z']
    # 找到只变动一次的最小值
    i_num_list = []
    for i in s:
        # 把他们都变成了数字了
        i_num = int(list_a.index(i))
        i_num_list.append(i_num)
    d = sorted(i_num_list)
    for b, c in zip(i_num_list, d):
        if b != c:
            b_result = i_num_list.index(b)
            c_result = i_num_list.index(c)
            i_num_list[b_result], i_num_list[c_result] = c, b
            break
    # 再把数字变成字母
    result = ''
    for i in i_num_list:
        result = result + list_a[i]
    # 输出字符串
    print(result)

str = "abcd"
min_str(str)

